package com.lcx.movie.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.sql.Timestamp;
import java.util.Date;

/**
 * @author lcx
 * @version 1.0
 * @Description
 * @date 2025/2/9 11:25
 */
@TableName(value = "orderinfo")
public class Orderinfo {
    @TableField(value = "cinema_id",exist = false)
    private int cinemaId;

    public int getCinemaId() {
        return cinemaId;
    }

    public void setCinemaId(int cinemaId) {
        this.cinemaId = cinemaId;
    }
    /**
     * 订单编号
     */
    @TableId(value = "order_id", type = IdType.INPUT)
    private String orderId;

    /**
     * 所属用户编号
     */
    @TableField(value = "user_id")
    private Long userId;

    /**
     * 所属场次编号
     */
    @TableField(value = "schedule_id")
    private Long scheduleId;

    /**
     * 电影票座位 （x排x座）
     */
    @TableField(value = "order_position")
    private String orderPosition;

    /**
     * 订单状态 0:退票中 1:已支付 2:退票成功
     */
    @TableField(value = "order_state")
    private Integer orderState;

    /**
     * 订单价格
     */
    @TableField(value = "order_price")
    private Integer orderPrice;

    /**
     * 订单支付时间
     */
    @TableField(value = "order_time")
    private String orderTime;
    @TableField(exist = false)
    private User orderUser; //所属用户对象
    @TableField(exist = false)
    private Schedule orderSchedule;//所属电影场次

    public User getOrderUser() {
        return orderUser;
    }

    public void setOrderUser(User orderUser) {
        this.orderUser = orderUser;
    }

    public Schedule getOrderSchedule() {
        return orderSchedule;
    }

    public void setOrderSchedule(Schedule orderSchedule) {
        this.orderSchedule = orderSchedule;
    }

    /**
     * 获取订单编号
     *
     * @return order_id - 订单编号
     */
    public String getOrderId() {
        return orderId;
    }

    /**
     * 设置订单编号
     *
     * @param orderId 订单编号
     */
    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    /**
     * 获取所属用户编号
     *
     * @return user_id - 所属用户编号
     */
    public Long getUserId() {
        return userId;
    }

    /**
     * 设置所属用户编号
     *
     * @param userId 所属用户编号
     */
    public void setUserId(Long userId) {
        this.userId = userId;
    }

    /**
     * 获取所属场次编号
     *
     * @return schedule_id - 所属场次编号
     */
    public Long getScheduleId() {
        return scheduleId;
    }

    /**
     * 设置所属场次编号
     *
     * @param scheduleId 所属场次编号
     */
    public void setScheduleId(Long scheduleId) {
        this.scheduleId = scheduleId;
    }

    /**
     * 获取电影票座位 （x排x座）
     *
     * @return order_position - 电影票座位 （x排x座）
     */
    public String getOrderPosition() {
        return orderPosition;
    }

    /**
     * 设置电影票座位 （x排x座）
     *
     * @param orderPosition 电影票座位 （x排x座）
     */
    public void setOrderPosition(String orderPosition) {
        this.orderPosition = orderPosition;
    }

    /**
     * 获取订单状态 0:退票中 1:已支付 2:退票成功
     *
     * @return order_state - 订单状态 0:退票中 1:已支付 2:退票成功
     */
    public Integer getOrderState() {
        return orderState;
    }

    /**
     * 设置订单状态 0:退票中 1:已支付 2:退票成功
     *
     * @param orderState 订单状态 0:退票中 1:已支付 2:退票成功
     */
    public void setOrderState(Integer orderState) {
        this.orderState = orderState;
    }

    /**
     * 获取订单价格
     *
     * @return order_price - 订单价格
     */
    public Integer getOrderPrice() {
        return orderPrice;
    }

    /**
     * 设置订单价格
     *
     * @param orderPrice 订单价格
     */
    public void setOrderPrice(Integer orderPrice) {
        this.orderPrice = orderPrice;
    }

    /**
     * 获取订单支付时间
     *
     * @return order_time - 订单支付时间
     */
    public String getOrderTime() {
        return orderTime;
    }

    /**
     * 设置订单支付时间
     *
     * @param orderTime 订单支付时间
     */
    public void setOrderTime(String orderTime) {
        this.orderTime = orderTime;
    }

    /**
     * 用户账号
     */
    @TableField(value = "user_name", exist = false)
    private String userName;

    /**
     * 获取会员账号
     *
     * @return user_name - 会员账号
     */
    public String getUserName() {
        return userName;
    }

    /**
     * 设置会员账号
     *
     * @param userName 会员账号
     */
    public void setUserName(String userName) {
        this.userName = userName;
    }
    /**
     * 电影放映时间
     */
    @TableField(value = "schedule_startTime", exist = false)
    private String scheduleStarttime;
    /**
     * 获取电影放映时间
     *
     * @return schedule_startTime - 电影放映时间
     */
    public String getScheduleStarttime() {
        return scheduleStarttime;
    }

    /**
     * 设置电影放映时间
     *
     * @param scheduleStarttime 电影放映时间
     */
    public void setScheduleStarttime(String scheduleStarttime) {
        this.scheduleStarttime = scheduleStarttime;
    }

    /**
     * 电影名称（中文）
     */
    @TableField(value = "movie_cn_name", exist = false)
    private String movieCnName;

    /**
     * 放映厅名称
     */
    @TableField(value = "hall_name", exist = false)
    private String hallName;

    /**
     * 影院名称
     */
    @TableField(value = "cinema_name", exist = false)
    private String cinemaName;

    public String getMovieCnName() {
        return movieCnName;
    }

    public void setMovieCnName(String movieCnName) {
        this.movieCnName = movieCnName;
    }

    public String getHallName() {
        return hallName;
    }

    public void setHallName(String hallName) {
        this.hallName = hallName;
    }

    public String getCinemaName() {
        return cinemaName;
    }

    public void setCinemaName(String cinemaName) {
        this.cinemaName = cinemaName;
    }
}